package day02;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test3 {
    public static void main(String[] args) {


        List<String> one = new ArrayList<>();
        one.add("迪丽热巴");
        one.add("宋远桥");
        one.add("苏星河");
        one.add("老子");
        one.add("庄子");
        one.add("孙子");
        one.add("洪七公");
        List<String> two = new ArrayList<>();
        two.add("古力娜扎");
        two.add("张无忌");
        two.add("张三丰");
        two.add("赵丽颖");
        two.add("张二狗");
        two.add("张天爱");
        two.add("张三");
        /**
         * 1. 第一个队伍只要名字为3个字的成员姓名；
         * 2. 第一个队伍筛选之后只要前3个人；
         * 3. 第二个队伍只要姓张的成员姓名；
         * 4. 第二个队伍筛选之后不要前2个人；
         * 5. 将两个队伍合并为一个队伍；
         * 6. 根据姓名创建 Person 对象；
         * 7. 收集所有的Person对象，得到集合
         *
         *
         *
         *
         * 8. 打印整个队伍的Person对象信息。
         */
        Stream<String> limit = one.stream().filter(x -> x.length() == 3).limit(3);
        Stream<String> skip = two.stream().filter(x -> x.startsWith("张")).skip(2);
        Stream<String> concat = Stream.concat(limit, skip);
        List<Person> collect = concat.map(x -> new Person(x)).collect(Collectors.toList());
        collect.stream().forEach(x-> System.out.println(x));
        collect.stream().forEach(System.out::println);//方法引用：再简洁的形式

    }
}
